package org.study.easyes.boot.entity;

import lombok.Data;
import org.dromara.easyes.annotation.*;
import org.dromara.easyes.annotation.rely.*;

import java.io.Serializable;

/**
 * 类的描述
 *
 * @author Administrator
 * @date 2022-10-25
 */
@Data
@IndexName(value = "es_document")
public class TestDocument implements Serializable {
    private static final long serialVersionUID = -2566491663872692034L;

    /**
     * 文档 id
     */
    @IndexId(type = IdType.CUSTOMIZE)
    private String id;

    /**
     * 标记 es 中不存在的字段
     */
    @IndexField(exist = false)
    private String notExistsField;

    /**
     * 更新时，此字段非空字符串才会被更新
     */
    @IndexField(strategy = FieldStrategy.NOT_EMPTY)
    private String creator;

    /**
     * 指定 fieldData
     */
    @IndexField(value = "filed_data", fieldType = FieldType.TEXT, fieldData = true)
    private String filedData;

    /**
     * 自定义字段名
     */
    @IndexField(value = "wu_la")
    private String ula;

    /**
     * 支持日期字段在 es 索引中的 format 类型
     */
    @IndexField(value = "gmt_create", fieldType = FieldType.DATE, dateFormat = "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis")
    private String gmtCreate;

    /**
     * 支持指定字段在 es 索引中的分词器类型
     */
    @IndexField(fieldType = FieldType.TEXT, analyzer = Analyzer.IK_SMART, searchAnalyzer = Analyzer.IK_MAX_WORD)
    private String content;
}
